package cn.wjssl.domain.rebate.repository;

import cn.wjssl.domain.rebate.model.aggregate.BehaviorRebateAggregate;
import cn.wjssl.domain.rebate.model.entity.BehaviorRebateOrderEntity;
import cn.wjssl.domain.rebate.model.valobj.BehaviorTypeVO;
import cn.wjssl.domain.rebate.model.valobj.DailyBehaviorRebateVO;

import java.util.List;

/**
 * 用户行为返利相关仓储接口
 */
public interface IBehaviorRebateRepository {

    // 根据用户行为类型, 查询对应的返利配置
    List<DailyBehaviorRebateVO> queryDailyBehaviorRebateConfig(BehaviorTypeVO behaviorTypeVO);

    // 存储用户行为订单, task
    void saveUserRebateRecord(String userId, List<BehaviorRebateAggregate> behaviorRebateAggregates);

    // 根据userId, outBusinessNo查询Behavior_order表
    List<BehaviorRebateOrderEntity> queryOrderByOutBusinessNo(String userId, String outBusinessNo);
}
